Storage management in a data processing system

ABSTRACT

The invention relates to a method for storage management in a data processing system having a plurality of storage devices with different performance attributes and a workload. The workload is being associated with respective sets of data blocks to be stored in said plurality of storage devices. The method comprises the steps of dynamically determining performance requirements of the workload and dynamically determining performance attributes of the storage devices. The method further comprises the step of allocating data blocks to the storage devices depending on the performance requirements of the associated workload and the performance attributes of the storage devices.

BACKGROUND

1. Field of the Invention

The present invention relates to a data storage subsystem also known asan auxiliary storage manager. The auxiliary storage manager isresponsible for moving frames from central storage to auxiliary storage(AUX). The auxiliary storage is usually a file on a direct accessstorage devices (DASD) or hard disk.

2. Description of the Related Art

One example of implementation of such a subsystem is in the IBM®operating system z/OS®. The IBM® operating system z/OS® is a virtualstorage system which comprises mapping virtual storage pages to framesin central storage or slots in auxiliary storage. A virtual storagesystem, such as the IBM® operating system z/OS®, only loads thoseportions of a program that are needed for the momentary operation of theprogram into central storage. The inactive pieces of the program,however, are kept in auxiliary storage. An auxiliary storage manager isresponsible for moving storage pages or data blocks from the centralstorage to the auxiliary storage when not currently needed. Anothercomponent of the z/OS operating system is the workload manager. Itcontrols access to system resources for the work executing on z/OS basedon administrator-defined goals.

New storage technologies provide non-volatile storage devices withdifferent access speeds. For example new devices such as Flash memoriesare faster than conventional slower DASD (direct access storage devices)or hard disk drives. Therefore the need for a suitable workloadallocation arises.

Different state of the art documents are concerned with storage ormemory allocation. Document US 2009/0019097 describes a system andmethod for memory allocation management. Memory allocation requestscomprise parameters for indicating requirements including a priority, amandatory status etc. Each of a plurality of memories, such as scratchmemory, persistent memory, etc., is characterized by operating speed,capacity and suitability of application types. Memory allocations areoptimized by examining the parameters and a memory map is generated.

Another state of the art document, U.S. Pat. No. 7,062,628, describes amethod and apparatus for storage pooling and provisioning for journalbased storage and recovery. A set of interconnected storage systemssupporting different types of storage devices and different performanceattributes are intelligently applied to process types, such as journalentries. The processes are ranked according to a predetermined priorityranking. The highest priority process is matched with available devicesfrom storage pools that rank highest in the processes performancepriority. The storage pools are ranked according to capacity,reliability, and access rate.

Document U.S. Pat. No. 6,760,910 describes a workload distributionmanagement method to enhance shared resource access in a multi-systemenvironment and to meet a common performance standard. The methodcomprises dynamically tracking use by a plurality of work classes of aplurality of resources in the multi-system. Each work class comprises atleast one work unit. A system resource manager dynamically forms aplurality of sets of the shareable resources and dynamically associateseach work class with a set of the shareable resources based on resourcescurrently employed by the at least one work unit.

The problem is that new storage technologies provide non-volatilestorage devices with different access speeds, for example, a Flashmemory is faster than conventional slower DASD (direct access storagedevices) or hard disk drives. To enable fast data processing, the timeneeded for moving pages from the auxiliary storage back to the centralstorage should be as short as possible. A complete replacement of theslower auxiliary storage devices with the faster ones may become tooexpensive. Therefore, an economic way to distribute pages over thestorage devices with different access speeds is desired.

SUMMARY

The present invention provides a method for storage management thatutilizes different access speeds of the storage mediums to itsadvantage.

More specifically, the present invention provides a method for storagemanagement in a data processing system having a plurality of storagedevices with different performance attributes and a workload. Theworkload is being associated with respective sets of data blocks to bestored in the plurality of storage devices. The method comprises thesteps of dynamically determining performance requirements of theworkload and dynamically determining performance attributes of thestorage devices. The method further comprises the step of allocatingdata blocks to the storage devices depending on the performancerequirements of the associated workload and the performance attributesof the storage devices.

Through the claimed method new storage technologies can beadvantageously applied. The different access speeds provided bynon-volatile storage devices, for example, a Flash memory being fasterthan conventional slower DASD (direct access storage devices) or harddisk drives can now be adequately allocated to the performancerequirements of the workloads. For fast data processing requirements,the time needed for moving pages from the auxiliary storage back to thecentral storage can now be as short as possible.

In a further embodiment of the claimed invention the step of dynamicallydetermining the performance requirements of the workload comprise thesteps of monitoring performance of the workload and repeatedlydetermining whether the performance of the workload meets theperformance requirements of the workload. The method further comprisesthe steps of changing performance requirements of the storage devices tobe allocated to the monitored workload depending on the previousdetermining step.

This further embodiment of the invention constantly checks if a workloadis performing within its performance requirements. If this is not thecase, then the storage allocation is adjusted accordingly.

In a further embodiment of the claimed invention the method furthercomprises the steps of determining performance requirements of datablocks of the workload, determining a pattern of performancerequirements of the data blocks of said workload and allocating datablocks of the workload to storage devices based on the pattern.

Determining the pattern of allocation of data block of a certainworkload allows for the possibility of shortcutting the method. If thesame workload for, which such a pattern has been determined, isrepeated, then the pattern of storage allocation may be used on the datablocks of that workload.

In yet a further embodiment of the claimed invention the performanceattributes of the plurality of storage devices comprise at least one ofthe following:

-   -   an access rate,    -   a free storage capacity, and    -   a reliability.

In a further embodiment of the claimed invention the data processingsystem comprises a central storage to store data blocks currently neededfor executing the workload and wherein said storage devices areauxiliary storages to store data blocks not currently needed forexecuting the workload.

In a further embodiment of the claimed invention the plurality ofstorage devices comprise at least a fast storage device and a slowstorage device, wherein the fast storage device has a higher access ratethan the slow storage device.

In a further embodiment of the claimed invention the method furthercomprises the steps determining priorities for plural workloads, whereincritical workloads have a higher priority than non-critical workloadsand allocating the workloads to the storage devices depending on thepriority of the workloads.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions.

These computer program instructions may be provided to a processor of ageneral purpose computer, special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions, which execute via the processor of the computer orother programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

BRIEF DESCRIPTION OF THE DRAWINGS

Preferred embodiments of the invention are illustrated in theaccompanying figures. These embodiments are merely exemplary, i.e. theyare not intended to limit the content and scope of the appended claims.

FIG. 1 shows the main components of an embodiment of the advancedauxiliary subsystem.

FIG. 2 shows in more detail the interaction between the auxiliarystorage manager and the workload manager of a preferred embodiment ofthe invention.

FIG. 3 shows a preferred embodiment of the workload manager decisionlogic.

FIG. 4 shows a preferred embodiment of building an allowed usage table.

DETAILED DESCRIPTION

Shown in FIG. 1 are the components which comprise an advanced subsystem.The main components of an advanced subsystem are the workload manager101 and the auxiliary storage manager 102. Also shown in FIG. 1 are thedifferent storage devices, 110 is the central or real storage, 115 isthe fast auxiliary storage, while 116 is the slow auxiliary storage.

The workload manager 101 classifies all incoming workload based onpolicies defined by the customer. The advanced auxiliary storagesubsystem works with two performance requirements: importance (IMP) andstorage critical (SC).

The workload manager uses 7 levels of importance. Importance 0 has thehighest importance in the system and importance 6 (discretionary) hasthe lowest importance in the system.

The storage critical (SC) is an indicator of the importance of the dataset to the functioning of the application. It has two settings, criticaland non-critical. When the workload has the storage critical indicatorset in the workload manager policy, then the workload will only losestorage to other work with equal or greater importance. If theimportance of the other work is lower than that of the workload, then nochanges will happen. The storage critical indicator is also used as partof the workload placement decision.

The workload manager 101 also works with a performance index (PI). Theperformance index is an indicator as to how well the workload meets therequirements in the workload manager 101 policy. PI>1 indicated that theworkload doesn't meet the goals, while PI<1 indicates that the workloadoverachieves the goal. The workload manager 101 analyses the performanceindex and depending on the value the workload manager tries to determinethe reasons for the particular PI value.

The workload manager 101 of the advanced auxiliary subsystem monitorsthe usage of the real 110 and auxiliary storages 115 and 116. Thismonitoring is represented in FIG. 1 by the lines 120, 125 and 126respectively. The monitoring of the storages is necessary, because thecurrent usage of each storage influences the decision made by theworkload manager concerning the placement of new frames.

The auxiliary storage manager 102 is responsible for taking 130 a framefrom the central/real storage 110 and store 135, 136 the frame in theauxiliary storage 115, 116. In the case of an advanced subsystem theplacement 115, 116 is done based on decisions made by the workloadmanager 101. Prior to storing 135, 136 the frame, the auxiliary storagemanager 102 communicates 140 with the workload manager 101. Theauxiliary storage manager 102 passes the address space ID (ASID) of theframe owner to the workload manager 101.

The workload manager 101 has to answer such a request with a placementdecision (slow 115 or fast 116 auxiliary storage). Then the auxiliarystorage manager 102 stores 135, 136 the frame previously retrieved 130from the real storage 110 in the auxiliary storage 115, 116 based on thedecision of the workload manager 101.

Shown in FIG. 2 is a detailed flow of an auxiliary subsystem. When theauxiliary storage manager 102 retrieves a frame, the workload of theframe is determined 200 by analyzing the address space (ASID). In step201 the auxiliary storage manager 101 creates a slot placement requestand passes the slot placement request to the workload manager 101. Basedon the current usage of the fast auxiliary storage 220, a quick decision221 or a full decision 300, 221 or 222 is made by the workload manager.If more than 50% of the fast auxiliary storage 221 is free, the decisionis always to place the slot on the fast auxiliary storage 221.

When the fast auxiliary storage is filled above 50%, then the“importance dependent” slot placement takes place in 300.

Now referring to FIG. 3, the workload manager decision logic 300converts 310 the passed ASID to the related importance (IMP) 310. Thisis done because all further processing is importance related. Then theworkload manager logic 300 analyses in step 320 if the address space hasthe storage critical (SC) indicator set or if it has the PerformanceIndex (PI)>1 and shows delays. If either case is true, then the advancedimportance (AP_IMP) is set to the importance minus one in step 321.Otherwise the advanced importance (AP_IMP) is set to the importance instep 322. Finally in step 330 the current fast auxiliary storage usage(in percent) is compared with the allowed usage for the advancedimportance (AP_IMP) of the slot. The allowed usage is in a table 490,which is rebuilt every 2 seconds by the workload manager 101 (see FIG.4).

If the current auxiliary storage usage is higher than the allowed usagefor the slot, then the workload manager returns to the auxiliary storagemanager 101 with the command “Use slow auxiliary storage” in step 222.Otherwise it returns with the command “Use fast auxiliary storage” instep 221. Either command is then passed to the auxiliary storage managerthrough 140.

Shown in FIG. 4 is the building an allowed usage table 490. Every 2seconds the workload manager 101 builds a new allowed usage table 490,which is a 7×2 matrix. The first column contains the allowed usagepercentage by importance (AP_IMP) and the second column contains thenumber of pageable frames of all address spaces by importance.

The build of an allowed usage table process starts with clearing thepageable frame column. This is done in step 401 of FIG. 4. Then in step410 the process starts at address space 1. The other address spaces arelooped through in steps 411, 412 and 413. In particular, the followingis done for all address spaces:

-   1 step 411 extracts the importance for the current address space.-   2 step 412 increase the pageable frames count in the allowed usage    table, by the pageable frames of the current address space. Also,    the row in the allowed usage table is indexed by the importance.    (IMP_(index) frames=IMP_(index) frames+pageable frames of the    current address space)-   3 step 413 continues with the next address space until the last    address space has been processed.

In step 410 the advanced importance (AP_IMP) for all 7 rows iscalculated. This done by the following formula:AP _(—) IMP _(row)=(IMP _(row) frames×100)/SUM(IMP0 frames to IMP6frames)

Finally in step 430 the process waits 2 seconds and restarts therebuilding the allowed usage table after the 2 seconds.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

REFERENCE SIGNS

-   101 workload manager-   102 auxiliary storage manager-   110 real storage-   115 auxiliary storage fast-   116 auxiliary storage slow-   120 monitoring real storage-   125 monitoring auxiliary storage fast-   126 monitoring auxiliary storage slow-   130 auxiliary storage manager receiving (stealing) frame-   135 auxiliary storage manager storing frame to auxiliary storage    slow-   136 auxiliary storage manager storing frame to auxiliary storage    fast-   140 communication-   200 steal frame and identify ASID-   201 request frame placement decision and pass ASID-   202 process stolen frame as decided by the workload manager-   220 auxiliary storage (fast) usage <50%-   221 use fast auxiliary storage-   222 use slow auxiliary storage-   300 workload manager decision logic-   310 convert ASID to related IMP-   320 (SC=on) or (PI>1 and delay)-   321 AP_IMP=IMP−1-   322 AP_IMP=IMP-   330 auxiliary storage (fast) usage <allowed usage for AP_IMP-   400 start-   401 clear pageable frame colon in allowed usage table-   410 select 1. address space-   411 convert ASID to IMP-   412 increase the IMP related frame count in the allowed usage table    by number of pageable frames from the current address space-   413 more address spaces-   420 calculate the IMPn % in the allowed usage table for all    importances-   421 advanced importance calculation-   430 schedule next allowed usage update table after 2 seconds-   490 allowed usage table

The invention claimed is:
 1. A method for storage management in a dataprocessing system having a plurality of storage devices with differentperformance attributes and a workload, said workload being associatedwith respective sets of data blocks to be stored in said plurality ofstorage devices, said method comprising the steps of: dynamicallydetermining performance requirements of said workload, wherein the stepof dynamically determining performance requirements of said workloadincludes converting an address space ID of a frame stored in a centralstorage to an importance and setting an advanced importance for theframe based on the importance, and wherein the frame stored in thecentral storage is to be stored in an auxiliary storage comprising oneor more fast auxiliary storage devices and one or more slow auxiliarystorage devices; dynamically determining performance attributes of saidstorage devices, wherein the step of dynamically determining performanceattributes of said storage devices includes building an allowed usagetable for the one or more fast auxiliary storage devices, and whereinthe allowed usage table contains a plurality of allowed fast auxiliarystorage usage entries, each associated with one of a plurality of levelsof advanced importance; and allocating data blocks to said storagedevices depending on the performance requirements of the associatedworkload and the performance attributes of the storage devices, whereinthe step of allocating data blocks to said storage devices includescomparing a current fast auxiliary storage usage and an allowed fastauxiliary storage usage entry contained in the allowed usage tableassociated with a level of advanced importance corresponding to theadvanced importance set for the frame and, if the current fast auxiliarystorage usage is less than the allowed fast auxiliary storage usageentry, allocating the frame to the one or more fast auxiliary storagedevices.
 2. The method according to claim 1, wherein the step ofdynamically determining the performance requirements of the workloadfurther comprises the steps of: monitoring performance of said workload;repeatedly determining whether the performance of said workload meetsthe performance requirements of said workload, and changing performancerequirements of the storage devices to be allocated to the monitoredworkload depending on the previous determining step.
 3. The methodaccording to claim 1, further comprising the steps of: determiningperformance requirements of data blocks of said workload; determining apattern of performance requirements of said data blocks of saidworkload; and allocating data blocks of said workload to storage devicesbased on said pattern.
 4. The method according to claim 1, wherein saidperformance attributes of said plurality of storage devices comprise atleast one of the following: an access rate, a free storage capacity, anda reliability.
 5. The method according to claim 1, wherein said dataprocessing system comprises a central storage to store data blockscurrently needed for executing, and wherein said storage devices areauxiliary storages to store data blocks not currently needed.
 6. Themethod according to claim 1, wherein said plurality of storage devicescomprise a fast storage device and a slow storage device, said faststorage device having a higher access rate than said slow storagedevice.
 7. The method according to claim 1, further comprising the stepsof: determining priorities for plural workloads, wherein criticalworkloads have a higher priority than non-critical workloads, andallocating the workloads to said storage devices depending on thepriority of said workloads.
 8. The method according to claim 1, whereinthe free storage space of the fast storage device is checked, andwherein data blocks are allocated to said fast storage device if thefree storage space of said fast storage device is above a predeterminedthreshold.
 9. An auxiliary storage system, the system comprising: aplurality of storage devices; an auxiliary storage manager; and aworkload manager; wherein said auxiliary storage manager and saidworkload manager dynamically determine performance requirements of aworkload by converting an address space ID of a frame stored in acentral storage to an importance and setting an advanced importance forthe frame based on the importance, wherein the frame stored in thecentral storage is to be stored in an auxiliary storage comprising oneor more fast auxiliary storage devices and one or more slow storagedevices; wherein said workload manager dynamically determinesperformance attributes of said storage devices by building an allowedusage table for the one or more fast auxiliary storage devices, whereinthe allowed usage table contains a plurality of allowed fast auxiliarystorage usage entries, each associated with one of a plurality of levelsof advanced importance; and wherein said auxiliary storage managerallocates data blocks to said storage devices depending on theperformance requirements of the associated workload and the performanceattributes of the storage devices by comparing a current fast auxiliarystorage usage and an allowed fast auxiliary storage usage entrycontained in the allowed usage table associated with a level of advancedimportance corresponding to the advanced importance set for the frameand, if the current fast auxiliary storage usage is less than theallowed fast auxiliary storage usage entry, allocating the frame to theone or more fast auxiliary storage devices.
 10. The system according toclaim 9, wherein said auxiliary storage manager and said workloadmanager: monitor performance of said workload; repeatedly determinewhether the performance of said workload meets the performancerequirements of said workload, and change performance requirements ofthe storage devices to be allocated to the monitored workload dependingon the previous determining step.
 11. The system according to claim 9,wherein said auxiliary storage manager and said workload manager:determine performance requirements of data blocks of said workload;determine a pattern of performance requirements of said data blocks ofsaid workload; and allocate data blocks of said workload to storagedevices based on said pattern.
 12. The system according to claim 9,wherein said system comprises a central storage, wherein the centralstorage device comprises the means to store data blocks currently neededfor executing the workloads, and wherein said storage devices areauxiliary storages, wherein the auxiliary storage devices comprise themeans to store data blocks not currently needed.
 13. The systemaccording to claim 9, wherein said plurality of storage devices comprisea fast storage device and a slow storage device, said fast storagedevice having a higher access rate than said slow storage device. 14.The system according to claim 9, wherein said auxiliary storage managerand said workload manager: determine priorities for plural workloads,wherein critical workloads have a higher priority than non-criticalworkloads, and allocate the workloads to said storage devices dependingon the priority of said workloads.
 15. A computer program productcomprising a computer usable non-transitory storage medium includingcomputer usable program code, wherein the computer usable program codeis adapted to execute the method of claim
 1. 16. A computer programproduct for storage management in a data processing system having aplurality of storage devices with different performance attributes and aworkload, said workload being associated with respective sets of datablocks to be stored in said plurality of storage devices, the computerprogram product comprising: a plurality of executable instructionsprovided on a non-transitory computer readable storage medium that is atangible medium, wherein the executable instructions, when executed byat least one processor in a programmable data processing apparatus,cause the programmable data processing apparatus to perform the stepsof: dynamically determining performance requirements of said workload,wherein the step of dynamically determining performance requirements ofsaid workload includes converting an address space ID of a frame storedin a central storage to an importance and setting an advanced importancefor the frame based on the importance, and wherein the frame stored inthe central storage is to be stored in an auxiliary storage comprisingone or more fast auxiliary storage devices and one or more slowauxiliary storage devices; dynamically determining performanceattributes of said storage devices, wherein the step of dynamicallydetermining performance attributes of said storage devices includesbuilding an allowed usage table for the one or more fast auxiliarystorage devices, and wherein the allowed usage table contains aplurality of allowed fast auxiliary storage usage entries, eachassociated with one of a plurality of levels of advanced importance; andallocating data blocks to said storage devices depending on theperformance requirements of the associated workload and the performanceattributes of the storage devices, wherein the step of allocating datablocks to said storage devices includes comparing a current fastauxiliary storage usage and an allowed fast auxiliary storage usageentry contained in the allowed usage table associated with a level ofadvanced importance corresponding to the advanced importance set for theframe and, if the current fast auxiliary storage usage is less than theallowed fast auxiliary storage usage entry, allocating the frame to theone or more fast auxiliary storage devices.